#include <iostream>
#include <list>
#include <memory>
#include <string>
#include <vector>

using namespace std;

//返回一个动态分配的vector,看第六题的意思是不用只能指针，那么将类型改为vector<int>
//*就好了
shared_ptr<vector<int>> vector_i() {

  shared_ptr<vector<int>> _ptr(new vector<int>);
  return _ptr;
}

//给vector赋值
void vector_j(shared_ptr<vector<int>> _ptr) {
  int int_val;
  while (cin >> int_val) {
    _ptr->push_back(int_val);
  }
}

//打印vector的值
void vector_k(shared_ptr<vector<int>> _ptr) {
  for (size_t i = 0; i < (*_ptr).size(); ++i) {
    cout << (*_ptr)[i] << endl;
  }
}

int main(int argc, char **argv) {
  shared_ptr<vector<int>> my_ptr = vector_i();
  vector_j(my_ptr);
  vector_k(my_ptr);
  return 0;
}